(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 8.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       157,          7]
NotebookDataLength[     33140,        701]
NotebookOptionsPosition[     32571,        678]
NotebookOutlinePosition[     33000,        695]
CellTagsIndexPosition[     32957,        692]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell[BoxData[
 RowBox[{
  RowBox[{"(*", " ", 
   RowBox[{
   "Function", " ", "to", " ", "determine", " ", "if", " ", "labeling", " ", 
    "is", " ", "valid"}], " ", "*)"}], "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{
     RowBox[{"valid", "[", 
      RowBox[{"mIn_", ",", "configIn_"}], "]"}], ":=", 
     RowBox[{
      RowBox[{
       RowBox[{
        RowBox[{
         RowBox[{"Function", "[", 
          RowBox[{"u", ",", 
           RowBox[{
            RowBox[{"Select", "[", 
             RowBox[{"configIn", ",", 
              RowBox[{
               RowBox[{"#", "\[Equal]", "u"}], "&"}]}], "]"}], "//", 
            "Length"}]}], "]"}], "[", "#", "]"}], "&"}], "/@", 
       RowBox[{"Range", "[", 
        RowBox[{"Length", "[", "mIn", "]"}], "]"}]}], "==", "mIn"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{"(*", 
    RowBox[{"Site", " ", "Restrictions"}], "*)"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"SR", "=", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"1", ",", "1", ",", "0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"1", ",", "1", ",", "0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "1", ",", "1"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "1", ",", "1"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"1", ",", "0", ",", "1", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "1", ",", "0", ",", "1"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"1", ",", "0", ",", "1", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "1", ",", "0", ",", "1"}], "}"}]}], "}"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{"MatrixForm", "[", "SR", "]"}], "\[IndentingNewLine]", 
   RowBox[{"(*", "Multiplicities", "*)"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"M", "=", 
     RowBox[{"{", 
      RowBox[{"3", ",", "2", ",", "2", ",", "1"}], "}"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Nc", " ", "=", 
     RowBox[{"Length", "[", "M", "]"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Nsites", "=", 
     RowBox[{"Total", "[", "M", "]"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"config", "=", 
     RowBox[{"ConstantArray", "[", 
      RowBox[{"0", ",", "Nsites"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"If", "[", 
    RowBox[{
     RowBox[{
      RowBox[{
       RowBox[{"Dimensions", "[", "SR", "]"}], "\[LeftDoubleBracket]", "1", 
       "\[RightDoubleBracket]"}], "\[NotEqual]", "Nsites"}], ",", 
     RowBox[{
      RowBox[{"Print", "[", "\"\<Inconsistent site restrictions!\>\"", "]"}], 
      ";", 
      RowBox[{"Abort", "[", "]"}]}]}], "]"}], "\[IndentingNewLine]", 
   RowBox[{"If", "[", 
    RowBox[{
     RowBox[{"Nsites", "\[NotEqual]", 
      RowBox[{"Total", "[", "M", "]"}]}], ",", 
     RowBox[{
      RowBox[{"Print", "[", "\"\<Inconsistent multiplicities\>\"", "]"}], ";", 
      RowBox[{"Abort", "[", "]"}]}]}], "]"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"sitePointer", "=", "1"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"(*", 
    RowBox[{
     RowBox[{"c", " ", "=", " ", "1"}], ";"}], "*)"}], "\[IndentingNewLine]", 
   
   RowBox[{
    RowBox[{"labelings", "=", 
     RowBox[{"{", "}"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"flag", "=", "True"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"While", "[", 
    RowBox[{"flag", ",", "\[IndentingNewLine]", 
     RowBox[{
      RowBox[{"While", "[", 
       RowBox[{"flag", ",", "\[IndentingNewLine]", 
        RowBox[{
         RowBox[{"If", "[", 
          RowBox[{
           RowBox[{"sitePointer", "<", "1"}], ",", 
           RowBox[{
            RowBox[{"flag", "=", "False"}], ";", 
            RowBox[{"Break", "[", "]"}]}]}], "]"}], ";", 
         "\[IndentingNewLine]", 
         RowBox[{"(*", " ", 
          RowBox[{
          "Advance", " ", "wheel", " ", "until", " ", "valid", " ", "or", " ",
            "turned", " ", "over"}], " ", "*)"}], " ", "\[IndentingNewLine]", 
         
         RowBox[{"(*", 
          RowBox[{
           RowBox[{"c", "+=", "1"}], ";"}], "*)"}], "\[IndentingNewLine]", 
         RowBox[{"(*", 
          RowBox[{
           RowBox[{"If", "[", 
            RowBox[{
             RowBox[{"c", ">", 
              SuperscriptBox["10", "5"]}], ",", 
             RowBox[{"Abort", "[", "]"}]}], "]"}], ";"}], "*)"}], 
         RowBox[{"(*", 
          RowBox[{
           RowBox[{"Failsaife", "--"}], "avoid", " ", "infinite", " ", 
           "loops"}], "*)"}], "\[IndentingNewLine]", 
         RowBox[{
          RowBox[{
          "config", "\[LeftDoubleBracket]", "sitePointer", 
           "\[RightDoubleBracket]"}], "+=", "1"}], ";", "\[IndentingNewLine]", 
         RowBox[{"(*", 
          RowBox[{
           RowBox[{"Print", "[", 
            RowBox[{
            "\"\<Ad_p: \>\"", ",", "sitePointer", ",", "\"\< \>\"", ",", 
             "config"}], "]"}], ";"}], "*)"}], "\[IndentingNewLine]", 
         RowBox[{"If", "[", 
          RowBox[{
           RowBox[{
            RowBox[{
            "config", "\[LeftDoubleBracket]", "sitePointer", 
             "\[RightDoubleBracket]"}], ">", "Nc"}], ",", 
           RowBox[{
            RowBox[{
             RowBox[{
             "config", "\[LeftDoubleBracket]", "sitePointer", 
              "\[RightDoubleBracket]"}], "=", "0"}], ";", 
            RowBox[{"sitePointer", "-=", "1"}], ";", 
            RowBox[{"Continue", "[", "]"}]}]}], "]"}], ";", 
         "\[IndentingNewLine]", 
         RowBox[{"If", "[", 
          RowBox[{
           RowBox[{
            RowBox[{
             RowBox[{
             "SR", "\[LeftDoubleBracket]", "sitePointer", 
              "\[RightDoubleBracket]"}], "\[LeftDoubleBracket]", 
             RowBox[{
             "config", "\[LeftDoubleBracket]", "sitePointer", 
              "\[RightDoubleBracket]"}], "\[RightDoubleBracket]"}], "==", 
            "1"}], ",", 
           RowBox[{"Break", "[", "]"}]}], "]"}], ";"}]}], 
       "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", 
      RowBox[{"If", "[", 
       RowBox[{
        RowBox[{"!", "flag"}], ",", 
        RowBox[{"Break", "[", "]"}]}], "]"}], ";", "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{
        RowBox[{
        "If", " ", "we", " ", "have", " ", "too", " ", "many", " ", "of", " ",
          "the", " ", "current", " ", "label"}], ",", " ", 
        RowBox[{"then", " ", "advance", " ", "the", " ", 
         RowBox[{"wheel", ".", " ", "Otherwise"}]}], ",", " ", 
        RowBox[{"increment", " ", "the", " ", "site", " ", 
         RowBox[{"pointer", ".", " ", "If"}], " ", "it", " ", "is", " ", "at",
          " ", "the", " ", "end"}], ",", " ", 
        RowBox[{
        "then", " ", "we", " ", "should", " ", "have", " ", "a", " ", "valid",
          " ", "labeling"}]}], " ", "*)"}], "\[IndentingNewLine]", 
      RowBox[{"If", "[", 
       RowBox[{
        RowBox[{
         RowBox[{"Length", "[", 
          RowBox[{"Select", "[", 
           RowBox[{"config", ",", 
            RowBox[{
             RowBox[{"#", "\[Equal]", 
              RowBox[{
              "config", "\[LeftDoubleBracket]", "sitePointer", 
               "\[RightDoubleBracket]"}]}], "&"}]}], "]"}], "]"}], ">", 
         RowBox[{"M", "\[LeftDoubleBracket]", 
          RowBox[{
          "config", "\[LeftDoubleBracket]", "sitePointer", 
           "\[RightDoubleBracket]"}], "\[RightDoubleBracket]"}]}], ",", 
        RowBox[{"Continue", "[", "]"}]}], "]"}], ";", "\[IndentingNewLine]", 
      RowBox[{"sitePointer", "+=", "1"}], ";", "\[IndentingNewLine]", 
      RowBox[{"(*", " ", 
       RowBox[{
        RowBox[{"If", " ", "we", " ", "passed", " ", "the", " ", "end"}], ",",
         " ", 
        RowBox[{"reset", " ", "the", " ", "pointer"}]}], " ", "*)"}], 
      "\[IndentingNewLine]", 
      RowBox[{"If", "[", 
       RowBox[{
        RowBox[{"sitePointer", ">", "Nsites"}], ",", 
        RowBox[{"sitePointer", "=", "Nsites"}]}], "]"}], ";", 
      "\[IndentingNewLine]", 
      RowBox[{"(*", 
       RowBox[{
       "The", " ", "validity", " ", "check", " ", "eliminates", " ", "labels",
         " ", "that", " ", 
        RowBox[{"don", "'"}], "t", " ", "have", " ", "all", " ", "the", " ", 
        "sites", " ", "filled", " ", 
        RowBox[{"yet", "."}]}], " ", "*)"}], "\[IndentingNewLine]", 
      RowBox[{"If", "[", 
       RowBox[{
        RowBox[{"valid", "[", 
         RowBox[{"M", ",", "config"}], "]"}], ",", 
        RowBox[{"AppendTo", "[", 
         RowBox[{"labelings", ",", "config"}], "]"}]}], "]"}], ";"}]}], 
    "\[IndentingNewLine]", "]"}], "\[IndentingNewLine]", 
   RowBox[{"labelings", "//", "MatrixForm"}]}]}]], "Input",
 CellChangeTimes->{
  3.53289693272208*^9, {3.533308890634963*^9, 3.533309030936256*^9}, {
   3.533309159902646*^9, 3.5333092226504107`*^9}, {3.533311663586364*^9, 
   3.533311708678405*^9}, {3.533312831985178*^9, 3.5333128600578213`*^9}, 
   3.533315069541731*^9, {3.533315143521574*^9, 3.533315221186253*^9}, 
   3.533315259059278*^9, {3.533315307904163*^9, 3.5333153608413773`*^9}, {
   3.533315399903126*^9, 3.533315447256496*^9}, {3.533315495556119*^9, 
   3.533315511780714*^9}, {3.533315578608357*^9, 3.533315625037036*^9}, {
   3.533315677648244*^9, 3.533315758867038*^9}, {3.533315803266089*^9, 
   3.533315860289166*^9}, {3.533316057788888*^9, 3.533316074274666*^9}, {
   3.533316312527026*^9, 3.533316373518071*^9}, {3.5333164166542253`*^9, 
   3.533316478312125*^9}, {3.5333170465964947`*^9, 3.533317194381119*^9}, {
   3.5333172367658587`*^9, 3.533317241561919*^9}, {3.533317278768938*^9, 
   3.533317286440583*^9}, {3.533317318453817*^9, 3.533317325920141*^9}, {
   3.5333175047753696`*^9, 3.533317546092371*^9}, {3.533317673206029*^9, 
   3.5333177084891*^9}, {3.533330659542985*^9, 3.533330671212208*^9}, {
   3.533333911972907*^9, 3.533333914443067*^9}, 3.53333405791654*^9, {
   3.53333459463872*^9, 3.533334834030488*^9}, {3.533334888724743*^9, 
   3.533334938238803*^9}, {3.533335673431366*^9, 3.533335686694912*^9}, {
   3.533336594549962*^9, 3.533336594865753*^9}, {3.533336626710091*^9, 
   3.533336695340213*^9}, {3.533336735333568*^9, 3.5333367913201027`*^9}, {
   3.53334457592069*^9, 3.533344616862349*^9}, {3.533344674297962*^9, 
   3.533344677038444*^9}, {3.533345000531644*^9, 3.533345005369699*^9}, {
   3.53334510119419*^9, 3.533345116864496*^9}, {3.533345205152686*^9, 
   3.5333452377342567`*^9}, {3.533345282909137*^9, 3.5333453384732313`*^9}, {
   3.533345497080024*^9, 3.533345604386948*^9}, {3.533346184581772*^9, 
   3.533346189636623*^9}, {3.533346254698678*^9, 3.533346298868279*^9}, {
   3.533346349665462*^9, 3.53334635804187*^9}, {3.5333464630855713`*^9, 
   3.5333465575480433`*^9}, {3.533346593772643*^9, 3.5333466687434273`*^9}, 
   3.5333484400616627`*^9, {3.5333485943924522`*^9, 3.5333486352243443`*^9}, {
   3.533348753490101*^9, 3.533348755908001*^9}, {3.5333490047112417`*^9, 
   3.533349013077079*^9}, {3.533349340109571*^9, 3.533349362480492*^9}, {
   3.5334109739966993`*^9, 3.533410985912228*^9}, {3.5334112686401043`*^9, 
   3.533411274626589*^9}, {3.533496085841309*^9, 3.533496092273547*^9}}],

Cell[BoxData[
 TagBox[
  RowBox[{"(", "\[NoBreak]", GridBox[{
     {"1", "1", "0", "0"},
     {"1", "1", "0", "0"},
     {"0", "0", "1", "1"},
     {"0", "0", "1", "1"},
     {"1", "0", "1", "0"},
     {"0", "1", "0", "1"},
     {"1", "0", "1", "0"},
     {"0", "1", "0", "1"}
    },
    GridBoxAlignment->{
     "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, 
      "RowsIndexed" -> {}},
    GridBoxSpacings->{"Columns" -> {
        Offset[0.27999999999999997`], {
         Offset[0.7]}, 
        Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
        Offset[0.2], {
         Offset[0.4]}, 
        Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}],
  Function[BoxForm`e$, 
   MatrixForm[BoxForm`e$]]]], "Output",
 CellChangeTimes->{{3.533315690173958*^9, 3.5333157188988857`*^9}, 
   3.533315861205628*^9, {3.533316046690144*^9, 3.533316074907011*^9}, 
   3.53331648047948*^9, 3.533317242397653*^9, 3.533317288285017*^9, 
   3.533317326864539*^9, 3.533317547478445*^9, {3.533317694010255*^9, 
   3.5333177090382347`*^9}, 3.533333054706203*^9, 3.533333858691025*^9, 
   3.5333339149870987`*^9, 3.533334059431768*^9, 3.5333346426276493`*^9, {
   3.533334739678854*^9, 3.533334780357192*^9}, {3.533334814563814*^9, 
   3.533334834722924*^9}, {3.5333349114927998`*^9, 3.533334938959958*^9}, {
   3.533335674605104*^9, 3.533335687449209*^9}, {3.533336682011753*^9, 
   3.533336696440257*^9}, {3.533344607424055*^9, 3.533344617494523*^9}, 
   3.533344683594946*^9, 3.533345121290736*^9, {3.53334523008497*^9, 
   3.533345257400902*^9}, {3.533345289823591*^9, 3.533345339532733*^9}, {
   3.533345538249076*^9, 3.53334560569732*^9}, 3.5333461905404053`*^9, 
   3.533346275999999*^9, 3.5333463150032663`*^9, {3.533346358953496*^9, 
   3.5333463718130827`*^9}, 3.533346512411491*^9, {3.533346561119336*^9, 
   3.533346578258293*^9}, {3.533346631419991*^9, 3.533346669560467*^9}, 
   3.533348450613364*^9, {3.533348745743878*^9, 3.533348756512662*^9}, 
   3.53334884683595*^9, 3.5333488826452713`*^9, 3.533410987133767*^9, 
   3.533411275480002*^9, 3.5334960942769136`*^9}],

Cell[BoxData[
 TagBox[
  RowBox[{"(", "\[NoBreak]", GridBox[{
     {"1", "1", "3", "4", "1", "2", "3", "2"},
     {"1", "1", "3", "4", "3", "2", "1", "2"},
     {"1", "1", "4", "3", "1", "2", "3", "2"},
     {"1", "1", "4", "3", "3", "2", "1", "2"},
     {"1", "2", "3", "3", "1", "2", "1", "4"},
     {"1", "2", "3", "3", "1", "4", "1", "2"},
     {"2", "1", "3", "3", "1", "2", "1", "4"},
     {"2", "1", "3", "3", "1", "4", "1", "2"}
    },
    GridBoxAlignment->{
     "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, 
      "RowsIndexed" -> {}},
    GridBoxSpacings->{"Columns" -> {
        Offset[0.27999999999999997`], {
         Offset[0.7]}, 
        Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
        Offset[0.2], {
         Offset[0.4]}, 
        Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}],
  Function[BoxForm`e$, 
   MatrixForm[BoxForm`e$]]]], "Output",
 CellChangeTimes->{{3.533315690173958*^9, 3.5333157188988857`*^9}, 
   3.533315861205628*^9, {3.533316046690144*^9, 3.533316074907011*^9}, 
   3.53331648047948*^9, 3.533317242397653*^9, 3.533317288285017*^9, 
   3.533317326864539*^9, 3.533317547478445*^9, {3.533317694010255*^9, 
   3.5333177090382347`*^9}, 3.533333054706203*^9, 3.533333858691025*^9, 
   3.5333339149870987`*^9, 3.533334059431768*^9, 3.5333346426276493`*^9, {
   3.533334739678854*^9, 3.533334780357192*^9}, {3.533334814563814*^9, 
   3.533334834722924*^9}, {3.5333349114927998`*^9, 3.533334938959958*^9}, {
   3.533335674605104*^9, 3.533335687449209*^9}, {3.533336682011753*^9, 
   3.533336696440257*^9}, {3.533344607424055*^9, 3.533344617494523*^9}, 
   3.533344683594946*^9, 3.533345121290736*^9, {3.53334523008497*^9, 
   3.533345257400902*^9}, {3.533345289823591*^9, 3.533345339532733*^9}, {
   3.533345538249076*^9, 3.53334560569732*^9}, 3.5333461905404053`*^9, 
   3.533346275999999*^9, 3.5333463150032663`*^9, {3.533346358953496*^9, 
   3.5333463718130827`*^9}, 3.533346512411491*^9, {3.533346561119336*^9, 
   3.533346578258293*^9}, {3.533346631419991*^9, 3.533346669560467*^9}, 
   3.533348450613364*^9, {3.533348745743878*^9, 3.533348756512662*^9}, 
   3.53334884683595*^9, 3.5333488826452713`*^9, 3.533410987133767*^9, 
   3.533411275480002*^9, 3.5334960942801723`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"test", "=", 
   TagBox[
    RowBox[{"(", "\[NoBreak]", GridBox[{
       {"1", "1", "1", "1", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "1", "2", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "1", "2", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "1", "2", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "1", "2", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "1", "2", "1", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "2", "1", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "2", "1", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "2", "1", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "1", "2", "2", "1", "2", "2", "2", "2", "1", "1", "1", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "2", "2", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "2", "2", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "1", "2", "2", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "1", "2", "2", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "1", "2", "2", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "1", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "1", "1", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "1", "1", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "1", "1", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "1", "1", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "1", "2", "1", "2", "2", "2", "2", "1", "1", "1", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "1", "2", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "1", "2", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "1", "2", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "1", "2", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "1", "2", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "1", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "2", "1", "1", "2", "2", "2", "2", "1", "1", "1", "1", "2", 
        "2", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "2", "1", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "2", "1", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "2", "1", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "2", "1", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "2", "1", "1", "2", "2", "2", "2", "1", "2", "2", "1", "2", 
        "1", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "2", "2", "1", "2", "2", "2", "2", "1", "1", "1", "1", "2", 
        "1", "2", "1", "2", "1", "2", "1", "2", "2", "2"},
       {"1", "2", "2", "2", "1", "2", "2", "2", "2", "1", "1", "1", "1", "2", 
        "2", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "2", "2", "1", "2", "2", "2", "2", "1", "1", "2", "1", "2", 
        "1", "2", "1", "2", "1", "1", "1", "2", "2", "2"},
       {"1", "2", "2", "2", "1", "2", "2", "2", "2", "1", "2", "1", "1", "2", 
        "1", "2", "1", "2", "1", "1", "1", "2", "2", "2"}
      },
      GridBoxAlignment->{
       "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
        "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
      GridBoxSpacings->{"Columns" -> {
          Offset[0.27999999999999997`], {
           Offset[0.7]}, 
          Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
          Offset[0.2], {
           Offset[0.4]}, 
          Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}],
    Function[BoxForm`e$, 
     MatrixForm[BoxForm`e$]]]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"test", " ", "-", " ", "labelings"}]}], "Input",
 CellChangeTimes->{{3.5334111540614853`*^9, 3.533411163865417*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0", ",", "0"}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.533411155551643*^9, 3.533411164537649*^9}}]
}, Open  ]]
},
WindowSize->{1400, 1143},
WindowMargins->{{155, Automatic}, {Automatic, 0}},
FrontEndVersion->"8.0 for Mac OS X x86 (32-bit, 64-bit Kernel) (November 6, \
2010)",
StyleDefinitions->FrontEnd`FileName[{"Creative"}, "NaturalColor.nb", 
  CharacterEncoding -> "UTF-8"]
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[579, 22, 11253, 256, 940, "Input"],
Cell[11835, 280, 2117, 42, 233, "Output"],
Cell[13955, 324, 2277, 42, 233, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[16269, 371, 5594, 89, 877, "Input"],
Cell[21866, 462, 10689, 213, 838, "Output"]
}, Open  ]]
}
]
*)

(* End of internal cache information *)
